<?php

###########################################################################
#Esta obra es distribuida bajo los términos de la licencia GPL Versión 3.0#
###########################################################################


class Equino_model extends CI_Model 
{

////////////////////////////////////////////////////////////////////////////////////////

    function __construct()
    {        
        parent::__construct();
		
		$this->load->database();
    }

//////////////////////////////////////////////////////////////////////////////////////////////////////////

	function crearEquino($dat)
	{
		
		$response = $this -> db -> insert('equinos',$dat);
		
		//----------------------------------------------------
		$id_equino = $this->db->insert_id();
		//----------------------------------------------------
	
		if(!$response){
			return 0;
		}
		
		//----------------------------------------------------
		
		return $id_equino;
		
	}
	
////////////////////////////////////////////////////////////////////////////////////////

	function editarEquino($id_equino, $datos)
	{

		$this->db->where('id_equino',$id_equino);
		return $this->db->update('equinos', $datos);
	}
	
////////////////////////////////////////////////////////////////////////////////////////
	
	function eliminarEquino($id_equino)
	{

		$this->db->where('id_equino',$id_equino);
		return $this->db->delete('equinos');
	}

////////////////////////////////////////////////////////////////////////////////////////
	
	function obtenerEquino($id_equino)
	{

		$this->db->from('equinos');
		$this->db->join('equinos_genealogia','equinos.id_equino = equinos_genealogia.id_equino');
		$this->db->where('equinos.id_equino',$id_equino);
		$result = $this->db->get();
	
		if($result->num_rows())
		{ 
			
			return $result->row_array();
		}else
			return false;
	}
	
////////////////////////////////////////////////////////////////////////////////////////

	
	function existeEquino($id_equino)
	{

		$this->db->from('equinos');
		$this->db->where('id_equino',$id_equino);
		$result = $this->db->get();
	
		return $result->num_rows();
	}
	
////////////////////////////////////////////////////////////////////////////////////////

	
	function actualizarVisitas($id_equino, $visitas)
	{

		$this->db->where('id_equino',$id_equino);
		return $this->db->update('equinos', $visitas);
	}
	
	
////////////////////////////////////////////////////////////////////////////////////////

	
	function actualizarEstado($id_equino, $estado)
	{

		$this->db->where('id_equino',$id_equino);
		return $this->db->update('equinos', $estado);
	}
	
////////////////////////////////////////////////////////////////////////////////////////

	function listarEquinosDestacados()
	{

		$this->db->from('equinos');
		$this->db->where('estado','Activo');
		$this->db->where('reproductor','No');
		//$this->db->where('destacado','Si');
		$result = $this->db->get();
		return $result -> result_array();
	}

////////////////////////////////////////////////////////////////////////////////////////

	function listarReproductores()
	{

		$this->db->from('equinos');
		$this->db->where('estado','Activo');
		$this->db->where('reproductor','Si');
		$this->db->order_by("equinos.id_equino", "desc");			
		$result = $this->db->get();
		return $result -> result_array();
	}


////////////////////////////////////////////////////////////////////////////////////////

	function listarEquinosActivos()
	{

		$this->db->from('equinos');
		$this->db->where('equinos.estado','Activo');
		$this->db->where('equinos.reproductor','No');
		$this->db->order_by("equinos.id_equino", "desc");			
		$result = $this->db->get();
		return $result -> result_array();
	}

////////////////////////////////////////////////////////////////////////////////////////


	function listarUltimosActivos()
	{

		$this->db->from('equinos');
		$this->db->where('equinos.estado','Activo');
		$this->db->where('equinos.reproductor','No');
		$this->db->order_by("equinos.id_equino", "desc");			
		$this->db->limit(9,0);
		$result = $this->db->get();
		return $result -> result_array();
	}


////////////////////////////////////////////////////////////////////////////////////////


	function listarSiguientesActivos()
	{

		$this->db->from('equinos');
		$this->db->where('equinos.estado','Activo');
		$this->db->where('equinos.reproductor','No');
		$this->db->order_by("equinos.id_equino", "desc");			
		$this->db->limit(9,9);
		$result = $this->db->get();
		return $result -> result_array();
	}

////////////////////////////////////////////////////////////////////////////////////////

	function buscarEquinos($raza, $modalidad, $color, $sexo, $departamento, $municipio, $busqueda)
	{

		$this->db->from('equinos');
		$this->db->where('equinos.estado','Activo');
		$this->db->where('equinos.reproductor','No');
		
		if( !empty($raza) )
			$this->db->where('equinos.raza',$raza);
		
		if( !empty($modalidad) )
			$this->db->where('equinos.andar',$modalidad);
		
		if( !empty($color) )
			$this->db->where('equinos.color',$color);
		
		if( !empty($sexo) )
			$this->db->where('equinos.sexo',$sexo);
		
		if( !empty($departamento) )
			$this->db->where('equinos.departamento',$departamento);
		
		if( !empty($municipio) )
			$this->db->where('equinos.municipio',$municipio);
			
		if( !empty($busqueda) )
		{
			$this->db->like('equinos.nombre', $busqueda);
			$this->db->or_like('equinos.descripcion', $busqueda);
		}
		
		$this->db->order_by("equinos.id_equino", "desc");			
		$result = $this->db->get();
		return $result -> result_array();
	}


////////////////////////////////////////////////////////////////////////////////////////

	function buscarEquinosReproductores($raza, $modalidad, $color, $sexo, $departamento, $municipio, $busqueda)
	{

		$this->db->from('equinos');
		$this->db->where('equinos.estado','Activo');
		$this->db->where('equinos.reproductor','Si');
		
		if( !empty($raza) )
			$this->db->where('equinos.raza',$raza);
		
		if( !empty($modalidad) )
			$this->db->where('equinos.andar',$modalidad);
		
		if( !empty($color) )
			$this->db->where('equinos.color',$color);
		
		if( !empty($sexo) )
			$this->db->where('equinos.sexo',$sexo);
		
		if( !empty($departamento) )
			$this->db->where('equinos.departamento',$departamento);
		
		if( !empty($municipio) )
			$this->db->where('equinos.municipio',$municipio);
			
		if( !empty($busqueda) )
		{
			$this->db->like('equinos.nombre', $busqueda);
			$this->db->or_like('equinos.descripcion', $busqueda);
		}
		
		$this->db->order_by("equinos.id_equino", "desc");			
		$result = $this->db->get();
		return $result -> result_array();
	}

////////////////////////////////////////////////////////////////////////////////////////

	function listarEquinosReproductoresPorUsuario($id_usuario)
	{

		$this->db->from('equinos');
		$this->db->join('usuarios','usuarios.id_usuario = equinos.id_usuario');
		$this->db->where('usuarios.id_usuario',$id_usuario);
		$this->db->where('usuarios.estado','Activo');
		$this->db->where('equinos.estado','Activo');
		$this->db->where('equinos.reproductor','Si');
		$result = $this->db->get();
		return $result -> result_array();
	}

//////////////////////////////////////////////////////////////////////////////////////////////////////////


	function listarEquinosPorUsuarioPorEstado($id_usuario, $estado)
	{

		$this->db->from('equinos');
		$this->db->join('usuarios','usuarios.id_usuario = equinos.id_usuario');
		$this->db->where('usuarios.id_usuario',$id_usuario);
		$this->db->where('usuarios.estado','Activo');
		$this->db->where('equinos.estado', $estado);
		$this->db->where('equinos.reproductor','No');
		$result = $this->db->get();
		return $result -> result_array();
	}

//////////////////////////////////////////////////////////////////////////////////////////////////////////

	function listarEquinosInactivosPorUsuario($id_usuario)
	{

		$this->db->from('equinos');
		$this->db->join('usuarios','usuarios.id_usuario = equinos.id_usuario');
		$this->db->where('usuarios.id_usuario',$id_usuario);
		$this->db->where('usuarios.estado','Activo');
		$this->db->where('equinos.estado','Inactivo');
		$result = $this->db->get();
		return $result -> result_array();
	}

//////////////////////////////////////////////////////////////////////////////////////////////////////////

	function crearGenealogia($dat)
	{
		
		$r = $this -> db -> insert('equinos_genealogia',$dat);
		
		//----------------------------------------------------
		$dat['id_equino'] = $this->db->insert_id();
		//----------------------------------------------------
		$error = false;
	
		if($r){
			$error = true;
			return $dat['error'] = $error;
		}
		
		//----------------------------------------------------
		
		return $dat['id_equino'];
		
	}

	
////////////////////////////////////////////////////////////////////////////////////////

	function editarGenealogia($id_equino, $datos)
	{

		$this->db->where('id_equino',$id_equino);
		return $this->db->update('equinos_genealogia', $datos);
	}
	


//////////////////////////////////////////////////////////////////////////////////////////////////////////

	
}


